/**
 * @file srt_port.h
 * @author liuzl (zhanlin.liu@hopechart.com)
 * @brief 
 * @version 0.1
 * @date 2022-04-26
 * 
 * @copyright Copyright (C) {2009-2021} 杭州鸿泉物联网技术股份有限公司 All rights reserved
 * 
 */
#ifndef __SRT_PORT_H__
#define __SRT_PORT_H__

#include "ofc_types.h"
#include "srt_storage/srt_storage_interface.h"

#ifdef __cplusplus
extern "C" {
#endif

/**
 * @brief 定义SRT表
 * 
 * 内部会校验传入的bin内部结构，包括:
 * - 结构版本
 * - 整体校验crc验证
 * - 字段有效性
 * 
 * @param bin 
 * @param size 
 * @return Int32 
 */
Int32 SrtDefine(const void *bin, Int32 size);

/**
 * @brief 指定永久化存储设备
 * 
 * @param storage storage
 * @return Int32 
 */
Int32 SrtSetupStorage(ISrtStorage *storage);

/**
 * @brief 周期性调用负责永久化
 * 
 * @return Int32 
 */
Int32 SrtRunOnce(void);


#ifdef __cplusplus
}
#endif

#endif//__SRT_PORT_H__
